package com.geezdata.cps.sdk3rd.kaola.domain;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 订单信息
 * @author jxshen
 *
 */
public class KaolaOrderSearchInfo implements Serializable {

    private static final long serialVersionUID = 4834737308847920397L;

    /**
     * 订单号——考拉接口返回
     */
    private String order_id;
    
    /**
     * 买家用户名——考拉接口返回
     */
    private String buyer_account;
    
    /**
     * 买家手机号——考拉接口返回
     */
    private String buyer_phone;
    
    /**
     * 订单状态——考拉接口返回<br>
     * 1(已付款)<br>
     * 2(已发货)<br>
     * 3(已签收)<br>
     * 4(缺货订单)<br>
     * 5(取消待确认)<br>
     * 6(已取消)<br>
     * 7(取消处理中)<br>
     * 8(发货处理中)<br>
     * <p>说明:<br>7是处于取消和已取消的一个中间状态,当查询条件为5的时候会返回该状态；<br>
     * 8是处于已付款和待发货的一个中间状态,当查询条件为1的时候会返回该状态<br>
     */
    private Integer order_status;
    
    /**
     * 收件人姓名——考拉接口返回
     */
    private String receiver_name;
    
    /**
     * 收件人手机——考拉接口返回
     */
    private String receiver_phone;
    
    /**
     * 收件人省名称——考拉接口返回
     */
    private String receiver_province_name;
    
    /**
     * 收件人市名称——考拉接口返回
     */
    private String receiver_city_name;
    
    /**
     * 收件人区(县)名称——考拉接口返回
     */
    private String receiver_district_name;
    
    /**
     * 收件人详细地址——考拉接口返回
     */
    private String receiver_address_detail;
    
    /**
     * 收件人邮政编码——考拉接口返回
     */
    private String receiver_post_code;
    
    /**
     * 支付成功时间——考拉接口返回<br>
     * 格式：YYYY-MM-DD hh:mm:ss
     */
    private Date pay_success_time;
    
    /**
     * 订单实际价格——考拉接口返回
     */
    private BigDecimal order_real_price;
    
    /**
     * 订单原始价格——考拉接口返回
     */
    private BigDecimal order_origin_price;
    
    /**
     * 邮费——考拉接口返回
     */
    private BigDecimal express_fee;
    
    /**
     * 支付方式——考拉接口返回
     */
    private String pay_method_name;
    
    /**
     * 优惠券优惠金额——考拉接口返回
     */
    private BigDecimal coupon_amount;
    
    /**
     * 订单完成时间——考拉接口返回
     */
    private Date finish_time;
    
    /**
     * 发货时间——考拉接口返回
     */
    private Date deliver_time;
    
    /**
     * 订单SKU——考拉接口返回
     */
    private List<KaolaOrderSearchSkuInfo> order_skus;
    
    /**
     * 实名认证姓名——考拉接口返回
     */
    private String cert_name;
    
    /**
     * 实名认证身份证号码——考拉接口返回
     */
    private String cert_id_no;
    
    /**
     * 订单税费——考拉接口返回
     */
    private BigDecimal tax_fee;
    
    /**
     * 订单交易流水号——考拉接口返回
     */
    private String trade_no;
    
    /**
     * 发票抬头——考拉接口返回
     */
    private String invoice_title;
    
    /**
     * 发票金额——考拉接口返回
     */
    private BigDecimal invoice_amount;
    
    /**
     * 是否需要发票——考拉接口返回<br>
     * 0需要，1不需要
     */
    private Integer need_invoice;
    
    /**
     * 照片url——考拉接口返回
     */
    private String photo_urls;
    
    /**
     * 发票数量——考拉接口返回
     */
    private Date pre_deliver_time;
    
    /**
     * 无说明——考拉接口返回
     */
    private Integer presale_order;
    
    /**
     * 无说明——考拉接口返回
     */
    private Date waiting_cancel_time;
    
    /**
     * 无说明——考拉接口返回
     */
    private Date waiting_deliver_time;

    public KaolaOrderSearchInfo() {}

    @Override
    public String toString() {
        return "KaolaOrder [order_id=" + order_id + ", buyer_account=" + buyer_account + ", buyer_phone=" + buyer_phone
                + ", order_status=" + order_status + ", receiver_name=" + receiver_name + ", receiver_phone="
                + receiver_phone + ", receiver_province_name=" + receiver_province_name + ", receiver_city_name="
                + receiver_city_name + ", receiver_district_name=" + receiver_district_name
                + ", receiver_address_detail=" + receiver_address_detail + ", receiver_post_code=" + receiver_post_code
                + ", pay_success_time=" + pay_success_time + ", order_real_price=" + order_real_price
                + ", order_origin_price=" + order_origin_price + ", express_fee=" + express_fee + ", pay_method_name="
                + pay_method_name + ", coupon_amount=" + coupon_amount + ", finish_time=" + finish_time
                + ", deliver_time=" + deliver_time + ", order_skus=" + order_skus + ", cert_name=" + cert_name
                + ", cert_id_no=" + cert_id_no + ", tax_fee=" + tax_fee + ", trade_no=" + trade_no + ", invoice_title="
                + invoice_title + ", invoice_amount=" + invoice_amount + ", need_invoice=" + need_invoice
                + ", photo_urls=" + photo_urls + ", pre_deliver_time=" + pre_deliver_time + ", presale_order="
                + presale_order + ", waiting_cancel_time=" + waiting_cancel_time + ", waiting_deliver_time="
                + waiting_deliver_time + "]";
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((buyer_account == null) ? 0 : buyer_account.hashCode());
        result = prime * result + ((buyer_phone == null) ? 0 : buyer_phone.hashCode());
        result = prime * result + ((cert_id_no == null) ? 0 : cert_id_no.hashCode());
        result = prime * result + ((cert_name == null) ? 0 : cert_name.hashCode());
        result = prime * result + ((coupon_amount == null) ? 0 : coupon_amount.hashCode());
        result = prime * result + ((deliver_time == null) ? 0 : deliver_time.hashCode());
        result = prime * result + ((express_fee == null) ? 0 : express_fee.hashCode());
        result = prime * result + ((finish_time == null) ? 0 : finish_time.hashCode());
        result = prime * result + ((invoice_amount == null) ? 0 : invoice_amount.hashCode());
        result = prime * result + ((invoice_title == null) ? 0 : invoice_title.hashCode());
        result = prime * result + ((need_invoice == null) ? 0 : need_invoice.hashCode());
        result = prime * result + ((order_id == null) ? 0 : order_id.hashCode());
        result = prime * result + ((order_origin_price == null) ? 0 : order_origin_price.hashCode());
        result = prime * result + ((order_real_price == null) ? 0 : order_real_price.hashCode());
        result = prime * result + ((order_skus == null) ? 0 : order_skus.hashCode());
        result = prime * result + ((order_status == null) ? 0 : order_status.hashCode());
        result = prime * result + ((pay_method_name == null) ? 0 : pay_method_name.hashCode());
        result = prime * result + ((pay_success_time == null) ? 0 : pay_success_time.hashCode());
        result = prime * result + ((photo_urls == null) ? 0 : photo_urls.hashCode());
        result = prime * result + ((pre_deliver_time == null) ? 0 : pre_deliver_time.hashCode());
        result = prime * result + ((presale_order == null) ? 0 : presale_order.hashCode());
        result = prime * result + ((receiver_address_detail == null) ? 0 : receiver_address_detail.hashCode());
        result = prime * result + ((receiver_city_name == null) ? 0 : receiver_city_name.hashCode());
        result = prime * result + ((receiver_district_name == null) ? 0 : receiver_district_name.hashCode());
        result = prime * result + ((receiver_name == null) ? 0 : receiver_name.hashCode());
        result = prime * result + ((receiver_phone == null) ? 0 : receiver_phone.hashCode());
        result = prime * result + ((receiver_post_code == null) ? 0 : receiver_post_code.hashCode());
        result = prime * result + ((receiver_province_name == null) ? 0 : receiver_province_name.hashCode());
        result = prime * result + ((tax_fee == null) ? 0 : tax_fee.hashCode());
        result = prime * result + ((trade_no == null) ? 0 : trade_no.hashCode());
        result = prime * result + ((waiting_cancel_time == null) ? 0 : waiting_cancel_time.hashCode());
        result = prime * result + ((waiting_deliver_time == null) ? 0 : waiting_deliver_time.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        KaolaOrderSearchInfo other = (KaolaOrderSearchInfo) obj;
        if (buyer_account == null) {
            if (other.buyer_account != null)
                return false;
        } else if (!buyer_account.equals(other.buyer_account))
            return false;
        if (buyer_phone == null) {
            if (other.buyer_phone != null)
                return false;
        } else if (!buyer_phone.equals(other.buyer_phone))
            return false;
        if (cert_id_no == null) {
            if (other.cert_id_no != null)
                return false;
        } else if (!cert_id_no.equals(other.cert_id_no))
            return false;
        if (cert_name == null) {
            if (other.cert_name != null)
                return false;
        } else if (!cert_name.equals(other.cert_name))
            return false;
        if (coupon_amount == null) {
            if (other.coupon_amount != null)
                return false;
        } else if (!coupon_amount.equals(other.coupon_amount))
            return false;
        if (deliver_time == null) {
            if (other.deliver_time != null)
                return false;
        } else if (!deliver_time.equals(other.deliver_time))
            return false;
        if (express_fee == null) {
            if (other.express_fee != null)
                return false;
        } else if (!express_fee.equals(other.express_fee))
            return false;
        if (finish_time == null) {
            if (other.finish_time != null)
                return false;
        } else if (!finish_time.equals(other.finish_time))
            return false;
        if (invoice_amount == null) {
            if (other.invoice_amount != null)
                return false;
        } else if (!invoice_amount.equals(other.invoice_amount))
            return false;
        if (invoice_title == null) {
            if (other.invoice_title != null)
                return false;
        } else if (!invoice_title.equals(other.invoice_title))
            return false;
        if (need_invoice == null) {
            if (other.need_invoice != null)
                return false;
        } else if (!need_invoice.equals(other.need_invoice))
            return false;
        if (order_id == null) {
            if (other.order_id != null)
                return false;
        } else if (!order_id.equals(other.order_id))
            return false;
        if (order_origin_price == null) {
            if (other.order_origin_price != null)
                return false;
        } else if (!order_origin_price.equals(other.order_origin_price))
            return false;
        if (order_real_price == null) {
            if (other.order_real_price != null)
                return false;
        } else if (!order_real_price.equals(other.order_real_price))
            return false;
        if (order_skus == null) {
            if (other.order_skus != null)
                return false;
        } else if (!order_skus.equals(other.order_skus))
            return false;
        if (order_status == null) {
            if (other.order_status != null)
                return false;
        } else if (!order_status.equals(other.order_status))
            return false;
        if (pay_method_name == null) {
            if (other.pay_method_name != null)
                return false;
        } else if (!pay_method_name.equals(other.pay_method_name))
            return false;
        if (pay_success_time == null) {
            if (other.pay_success_time != null)
                return false;
        } else if (!pay_success_time.equals(other.pay_success_time))
            return false;
        if (photo_urls == null) {
            if (other.photo_urls != null)
                return false;
        } else if (!photo_urls.equals(other.photo_urls))
            return false;
        if (pre_deliver_time == null) {
            if (other.pre_deliver_time != null)
                return false;
        } else if (!pre_deliver_time.equals(other.pre_deliver_time))
            return false;
        if (presale_order == null) {
            if (other.presale_order != null)
                return false;
        } else if (!presale_order.equals(other.presale_order))
            return false;
        if (receiver_address_detail == null) {
            if (other.receiver_address_detail != null)
                return false;
        } else if (!receiver_address_detail.equals(other.receiver_address_detail))
            return false;
        if (receiver_city_name == null) {
            if (other.receiver_city_name != null)
                return false;
        } else if (!receiver_city_name.equals(other.receiver_city_name))
            return false;
        if (receiver_district_name == null) {
            if (other.receiver_district_name != null)
                return false;
        } else if (!receiver_district_name.equals(other.receiver_district_name))
            return false;
        if (receiver_name == null) {
            if (other.receiver_name != null)
                return false;
        } else if (!receiver_name.equals(other.receiver_name))
            return false;
        if (receiver_phone == null) {
            if (other.receiver_phone != null)
                return false;
        } else if (!receiver_phone.equals(other.receiver_phone))
            return false;
        if (receiver_post_code == null) {
            if (other.receiver_post_code != null)
                return false;
        } else if (!receiver_post_code.equals(other.receiver_post_code))
            return false;
        if (receiver_province_name == null) {
            if (other.receiver_province_name != null)
                return false;
        } else if (!receiver_province_name.equals(other.receiver_province_name))
            return false;
        if (tax_fee == null) {
            if (other.tax_fee != null)
                return false;
        } else if (!tax_fee.equals(other.tax_fee))
            return false;
        if (trade_no == null) {
            if (other.trade_no != null)
                return false;
        } else if (!trade_no.equals(other.trade_no))
            return false;
        if (waiting_cancel_time == null) {
            if (other.waiting_cancel_time != null)
                return false;
        } else if (!waiting_cancel_time.equals(other.waiting_cancel_time))
            return false;
        if (waiting_deliver_time == null) {
            if (other.waiting_deliver_time != null)
                return false;
        } else if (!waiting_deliver_time.equals(other.waiting_deliver_time))
            return false;
        return true;
    }

    public String getOrder_id() {
        return order_id;
    }

    public void setOrder_id(String order_id) {
        this.order_id = order_id;
    }

    public String getBuyer_account() {
        return buyer_account;
    }

    public void setBuyer_account(String buyer_account) {
        this.buyer_account = buyer_account;
    }

    public String getBuyer_phone() {
        return buyer_phone;
    }

    public void setBuyer_phone(String buyer_phone) {
        this.buyer_phone = buyer_phone;
    }

    public Integer getOrder_status() {
        return order_status;
    }

    public void setOrder_status(Integer order_status) {
        this.order_status = order_status;
    }

    public String getReceiver_name() {
        return receiver_name;
    }

    public void setReceiver_name(String receiver_name) {
        this.receiver_name = receiver_name;
    }

    public String getReceiver_phone() {
        return receiver_phone;
    }

    public void setReceiver_phone(String receiver_phone) {
        this.receiver_phone = receiver_phone;
    }

    public String getReceiver_province_name() {
        return receiver_province_name;
    }

    public void setReceiver_province_name(String receiver_province_name) {
        this.receiver_province_name = receiver_province_name;
    }

    public String getReceiver_city_name() {
        return receiver_city_name;
    }

    public void setReceiver_city_name(String receiver_city_name) {
        this.receiver_city_name = receiver_city_name;
    }

    public String getReceiver_district_name() {
        return receiver_district_name;
    }

    public void setReceiver_district_name(String receiver_district_name) {
        this.receiver_district_name = receiver_district_name;
    }

    public String getReceiver_address_detail() {
        return receiver_address_detail;
    }

    public void setReceiver_address_detail(String receiver_address_detail) {
        this.receiver_address_detail = receiver_address_detail;
    }

    public String getReceiver_post_code() {
        return receiver_post_code;
    }

    public void setReceiver_post_code(String receiver_post_code) {
        this.receiver_post_code = receiver_post_code;
    }

    public Date getPay_success_time() {
        return pay_success_time;
    }

    public void setPay_success_time(Date pay_success_time) {
        this.pay_success_time = pay_success_time;
    }

    public BigDecimal getOrder_real_price() {
        return order_real_price;
    }

    public void setOrder_real_price(BigDecimal order_real_price) {
        this.order_real_price = order_real_price;
    }

    public BigDecimal getOrder_origin_price() {
        return order_origin_price;
    }

    public void setOrder_origin_price(BigDecimal order_origin_price) {
        this.order_origin_price = order_origin_price;
    }

    public BigDecimal getExpress_fee() {
        return express_fee;
    }

    public void setExpress_fee(BigDecimal express_fee) {
        this.express_fee = express_fee;
    }

    public String getPay_method_name() {
        return pay_method_name;
    }

    public void setPay_method_name(String pay_method_name) {
        this.pay_method_name = pay_method_name;
    }

    public BigDecimal getCoupon_amount() {
        return coupon_amount;
    }

    public void setCoupon_amount(BigDecimal coupon_amount) {
        this.coupon_amount = coupon_amount;
    }

    public Date getFinish_time() {
        return finish_time;
    }

    public void setFinish_time(Date finish_time) {
        this.finish_time = finish_time;
    }

    public Date getDeliver_time() {
        return deliver_time;
    }

    public void setDeliver_time(Date deliver_time) {
        this.deliver_time = deliver_time;
    }

    public List<KaolaOrderSearchSkuInfo> getOrder_skus() {
        return order_skus;
    }

    public void setOrder_skus(List<KaolaOrderSearchSkuInfo> order_skus) {
        this.order_skus = order_skus;
    }

    public String getCert_name() {
        return cert_name;
    }

    public void setCert_name(String cert_name) {
        this.cert_name = cert_name;
    }

    public String getCert_id_no() {
        return cert_id_no;
    }

    public void setCert_id_no(String cert_id_no) {
        this.cert_id_no = cert_id_no;
    }

    public BigDecimal getTax_fee() {
        return tax_fee;
    }

    public void setTax_fee(BigDecimal tax_fee) {
        this.tax_fee = tax_fee;
    }

    public String getTrade_no() {
        return trade_no;
    }

    public void setTrade_no(String trade_no) {
        this.trade_no = trade_no;
    }

    public String getInvoice_title() {
        return invoice_title;
    }

    public void setInvoice_title(String invoice_title) {
        this.invoice_title = invoice_title;
    }

    public BigDecimal getInvoice_amount() {
        return invoice_amount;
    }

    public void setInvoice_amount(BigDecimal invoice_amount) {
        this.invoice_amount = invoice_amount;
    }

    public Integer getNeed_invoice() {
        return need_invoice;
    }

    public void setNeed_invoice(Integer need_invoice) {
        this.need_invoice = need_invoice;
    }

    public String getPhoto_urls() {
        return photo_urls;
    }

    public void setPhoto_urls(String photo_urls) {
        this.photo_urls = photo_urls;
    }

    public Date getPre_deliver_time() {
        return pre_deliver_time;
    }

    public void setPre_deliver_time(Date pre_deliver_time) {
        this.pre_deliver_time = pre_deliver_time;
    }

    public Integer getPresale_order() {
        return presale_order;
    }

    public void setPresale_order(Integer presale_order) {
        this.presale_order = presale_order;
    }

    public Date getWaiting_cancel_time() {
        return waiting_cancel_time;
    }

    public void setWaiting_cancel_time(Date waiting_cancel_time) {
        this.waiting_cancel_time = waiting_cancel_time;
    }

    public Date getWaiting_deliver_time() {
        return waiting_deliver_time;
    }

    public void setWaiting_deliver_time(Date waiting_deliver_time) {
        this.waiting_deliver_time = waiting_deliver_time;
    }
    
}
